package com.quyunshuo.module.home.navigation

import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.navigation.fragment.NavHostFragment

/**
 * 自定义导航宿主Fragment，解决导航重建时的视图问题
 * 核心作用：通过替换容器布局类型，优化导航栈Fragment的视图管理
 */
class WindowNavHostFragment : NavHostFragment() {

    /**
     * 重写视图创建过程
     * @param inflater 布局加载器
     * @param container 父容器
     * @param savedInstanceState 保存的实例状态
     * @return 返回自定义的窗口布局容器
     */
    override fun onCreateView(
        inflater: LayoutInflater,
        container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View {
        // 创建自定义的WindowFrameLayout作为容器
        val frameLayout = WindowFrameLayout(inflater.context).apply {
            // 保持与原生NavHostFragment相同的ID
            id = this@WindowNavHostFragment.id
        }
        return frameLayout
    }
}